SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[pje_porPerfeccionamiento] @idInscripcion as integer ,@pje as float output,@resultado as int  AS

SET NOCOUNT ON
SET DATEFORMAT DMY

declare  @idAgente as int,@idCargoGenerico as int,@idAsignaturaGenerica as int, @idTipoConvocatoria as int ,@idlocalidad as int
declare @incumbe as integer --0=si 1=no incumbe
declare @FechaLimite as datetime
declare @Aprobado as varchar(1),@CursoOCap as  int,@horas int,@ValeComoCurso varchar(1) ,@Cargogen as int,@AsigGen as int,@tipoDeEntidad as int,@IdCapAg as int
declare @pjeAuxiliar  as float , @pjeOficiales as float,@pjePrivados as float, @topeCursosOficiales as float,@topeCursosPrivados as float
declare @idCapAg_anterior as int,@nivel_insc as int, @grupoIncumbencia as int , @grupoincumbencia2 as int, @ciclo as int
declare @fecha as datetime
declare @c1 as int,@c2 as int
declare @TopePerfeccionamiento as int
declare  @TopeAnualPerfeccionamiento as int
DECLARE @FechaHasta as datetime
DECLARE @FechaDesde as datetime
DECLARE @Error as INT
DECLARE @añoAvalorar as int, @añoActual as int, @pjePrevio2007 as float,@pjeAñoValorado as float

DECLARE @pjeJudicial as float

BEGIN TRANSACTION
SET @ERROR=0


select @topeCursosOficiales= isnull((select valor1 from tb_parametros where parametro='TopeCursosOficiales'),9999) --idparametro=43
select @topeCursosPrivados= isnull((select valor1 from tb_parametros where parametro='TopeCursosPrivados'),9999) --idparametro=44
select @TopePerfeccionamiento= isnull((select valor1 from tb_parametros where parametro = 'TopePerfeccionamiento'),9999) --idparametro=120
select @TopeAnualPerfeccionamiento= isnull((select valor1 from tb_parametros where parametro = 'TopeAnualPerfeccionamiento'),9999) --idparametro=***

select  @idAgente=i.Agente,@IdcargoGenerico = i.CargoGenerico,@AsigGen=i.AsignaturaGenerica,@idtipoConvocatoria=Conv.TipoConvocatoria,@FechaLimite=Conv.FechaLimite,@nivel_insc = i.nivel,@ciclo=ciclo
	from 
	tb_inscripcionesConvocatorias i 
		join tb_Convocatorias conv on i.Convocatoria=conv.idConvocatoria 
	where i.idInscripcionConvocatoria=@idInscripcion

delete [SageNET].[dbo].[tb_DetallePuntajes] where agente = @idagente and idconcepto=199 and inscripcion=@idinscripcion

set @idCapAg_anterior = -1

-- primero valoro el perfeccionamiento docente con fecha previa al  '01/06/2006' ya que con posterioridad a esta fecha la valoración es distinta
set @añoAvalorar = 2006
if @nivel_insc in(2,3) set @FechaHasta='31/05/2006' else set @FechaHasta=cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +  cast(@añoAvalorar AS VARCHAR)

print 'fecha hasta: '  +  cast (@FechaHasta as varchar)

	declare c cursor FORWARD_ONLY FOR
		select distinct CapAg.Aprobado,Cap.CursoOCapacitacion,Cap.horasCatedra,CapAg.Fechapresentacion,Cap.ValeComoCurso,h.Cargogenerico,h.AsignaturaGenerica,capag.TipoEntidad,Cap.idCapacitacion
		from
		tb_capacitacionesDelAgente CapAg
		join tb_capacitaciones Cap on CapAg.Capacitacion=Cap.idCapacitacion
		join tb_gruposDeIncumbencias G on G.idGrupoIncumbencia=Cap.GrupoIncumbencias
--		join tb_reluniongsgu R on r.idgrupounion = G.idGrupoIncumbencia
		join tb_incumbencias h on G.idGrupoIncumbencia=h.grupoIncumbencia
--		join tb_entidadesCapacitadoras Ent on Cap.entidad=Ent.idEntidad
--		join tb_tipoEntidadCapacitadora T on Ent.tipoEntidad=T.id								--supongo que si Cap.CursoOCapacitacion = 1 se trata de una Capacitacion, si Cap.CursoOCapacitacion = 2 esCurso Dictado y si Cap.CursoOCapacitacion = 3 se trata de un curso realizado 						
		where agente=@idAgente and h.CargoGenerico=@idCargogenerico and h.AsignaturaGenerica=@AsigGen 
			and CapAg.FechaPresentacion <= @FechaLimite 	
			and (Cap.CursoOCapacitacion in ( 3,4,5,6,7,8,9)  or (Cap.CursoOCapacitacion = 1 and cap.valecomocurso='S')) 
			and CapAg.FechaPresentacion  <=  @FechaHasta
		order by Cap.idCapacitacion

		SET @Error = @@ERROR 
		IF @Error <> 0 GOTO Salir

	open c
	fetch next from c into @Aprobado,@CursoOCap,@horas ,@fecha,@ValeComoCurso ,@Cargogen ,@AsigGen ,@tipoDeEntidad,@IdCapAg 

	set @pjeAuxiliar=0
	set @pjeOficiales = 0
	set @pjePrivados=0
	set @pjePrevio2007=0

	while @@FETCH_STATUS = 0

	begin
		if @IdCapAg <> @idCapAg_anterior --agregué esta condición por que algunos cusros se seleccionan 2 veces
		begin
			set @idCapAg_anterior = @IdCapAg
			--print 'Perfeccionamiento Docente  oficial ................' + cast(@idCapAg as varchar) + '  ' + cast(@horas as varchar) + ' ' + @aprobado
			select @pjeAuxiliar=
			case
				when @horas BETWEEN 300 AND 420 then 3
				when @horas > 420 then  5
				when @horas BETWEEN 80 AND 300  then round(1.5+(@horas-80)*.0068182,3)
				when @horas< 80 then round( 0.5+(@horas-10)*.0142859	,3)
				else 0
			end

			if @aprobado <> 'S'  set @pjeAuxiliar=@pjeAuxiliar*0.1
			print 'Perfeccionamiento Docente oficial ................' + cast(@idCapAg as varchar) + '  ' + cast(@fecha as varchar)+ '  ' + cast(@horas as varchar) + ' ' + @aprobado+ '  ##### CO   ' + cast( @pjeAuxiliar as varchar)

			if @tipoDeEntidad in (1)  
			begin
				print 'Perfeccionamiento Docente privado' + cast(@idCapAg as varchar) + '  ' + cast(@fecha as varchar)+ '  ' + cast(@horas as varchar) + ' ' + @aprobado+ '  ##### CP   ' + cast( @pjeAuxiliar as varchar)
				INSERT INTO [SageNET].[dbo].[tb_DetallePuntajes](inscripcion,[Agente], [idConcepto], [detalle1], [detalle2], [detalle3], [detalle4], [detalle5], [detalle6], [detalle7], [detalle8])
				VALUES(@idinscripcion,@idagente,199,'Perfeccionamiento docente privado ',cast(@idCapAg as varchar),cast(@horas as varchar),@aprobado,cast(round(@pjeAuxiliar,3) as varchar),cast(@fecha as varchar),cast(@añoAvalorar as varchar),null)
				set @pjeprivados=round(@pjeprivados+@pjeAuxiliar,3)
				--if @pjeprivados > @TopeCursosPrivados set @pjePrivados=@TopeCursosPrivados
			end
			else
			     begin	
				INSERT INTO [SageNET].[dbo].[tb_DetallePuntajes](inscripcion,[Agente], [idConcepto], [detalle1], [detalle2], [detalle3], [detalle4], [detalle5], [detalle6], [detalle7], [detalle8])
				VALUES(@idinscripcion,@idagente,199,'Perfeccionamiento docente Oficial ',cast(@idCapAg as varchar),cast(@horas as varchar),@aprobado,cast(round(@pjeAuxiliar,3) as varchar),cast(@fecha as varchar),cast(@añoAvalorar as varchar),null)
				set @pjeOficiales=round(@pjeOficiales+@pjeAuxiliar,3)
				--if @pjeOficiales > @TopeCursosOficiales set @pjeOficiales=@TopeCursosOficiales
			    end
			--print  '........................'+ cast( @pjeAuxiliar as varchar)

	end --si capacitacion es distinta de capacitacion anterior
	fetch next from c into @Aprobado,@CursoOCap,@horas,@fecha ,@ValeComoCurso ,@Cargogen ,@AsigGen ,@tipoDeEntidad,@IdCapAg
	end
	
	print 'Puntaje por Cursos privado' + cast(@pjePrivados as varchar) + '  '
	print 'Puntaje por Cursos oficiales' + cast(@pjeoficiales as varchar) + '  '
	
	set @pjePrevio2007 = @pjeOficiales+@pjePrivados	
-- LIBERADO1 
--if @idAgente not in( 55361,56427,56942,57359,56226,56033,57727,59171,58886,59503,59064,53741) and @pjePrevio2007 > @TopePerfeccionamiento set @pjePrevio2007=@TopePerfeccionamiento 
 if @pjePrevio2007 > @TopePerfeccionamiento set @pjePrevio2007=@TopePerfeccionamiento 

	close c
	deallocate c

	set @resultado = 0
	--print 'oficiales' + cast(@pjeOficiales as varchar)
	--print @pjeOficiales
	--print 'privados' + cast (@pjePrivados as varchar)
	--print @pjePrivados

--print 'puntaje anterior al '+cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +CAST (( case  when @idtipoconvocatoria=2 and @nivel_insc in(2,3) then @añoAvalorar-1 else @añoAvalorar end ) AS VARCHAR)
print 'puntaje anterior al '+ cast(@FechaHasta as varchar)
print @pjePrevio2007


-- Para fecha posterior al 30/06/2006

SELECT @añoactual = DATEPART(year, GETDATE())

set @añoAvalorar = 2007

while  @añoAvalorar <= @añoactual  +1    --Le agragué + 1 por que si no no me valora los que se inscriben en la convocatoria Fuera de Término (octubre de 2008)                   
--while  @añoAvalorar <= (case  when @idtipoconvocatoria=2 and @nivel_insc in(2,3) then @añoactual + 1 else @añoactual end)   
begin
/* se anuló el 20/05/2009     por que a partir de ahora se valora igual que en Polimodal
	if @nivel_insc in(2,3) and @idtipoconvocatoria=2 and  @IdcargoGenerico  in(select idcargogenerico from tb_cargosgenericos where @IdcargoGenerico <> 65  and ordenAscenso=1 and  descripcion not like '%coordinador%' )      -- Se trata de Ascensos Comunes de Cargos de EGB o Inicial
	begin
		set @FechaDesde='29/06/'+CAST ( @añoAvalorar-1  AS VARCHAR) 
		set @FechaHasta='31/12/' +CAST ( @añoAvalorar-1  AS VARCHAR) 
	end
	if @nivel_insc in(2,3) and @idtipoconvocatoria=2 and  @IdcargoGenerico  in(select idcargogenerico from tb_cargosgenericos where descripcion like '%coordinador%')    -- Se trata de Ascensos para cargos de Coordinador de Cargos de EGB o Inicial
	begin
		set @FechaDesde='29/06/'+CAST ( @añoAvalorar-1  AS VARCHAR) 
		set @FechaHasta='31/12/' +CAST ( @añoAvalorar  AS VARCHAR) 
	end
	if @nivel_insc in(2,3) and @idtipoconvocatoria<>2 or @IdcargoGenerico  in(65)  -- Se trata de Ingreso o DT de primaria
	      if @añoAvalorar = 2007
		begin
			set @FechaDesde='29/06/2006' 
			set @FechaHasta='31/05/07'
             		end
	      else
            		begin
			set @FechaDesde='30/05/'+CAST ( @añoAvalorar-1  AS VARCHAR) 
			set @FechaHasta='31/05/'+CAST ( @añoAvalorar  AS VARCHAR)
		end	
*/
	-- if @nivel_insc =4  -- Se trata de Polimodal
--	begin
--		set @FechaDesde=cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +CAST ( @añoAvalorar-1 AS VARCHAR)  
--		set @FechaHasta=cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +CAST (@añoAvalorar  AS VARCHAR)
		set @FechaDesde='31/05/' +CAST ( @añoAvalorar-1 AS VARCHAR)  
		set @FechaHasta='31/05/' +CAST (@añoAvalorar  AS VARCHAR)

--	end

	print '@FechaDesde: ' + cast(@FechaDesde as varchar)
	print '@FechaHasta: ' + cast(@FechaHasta as varchar)
	if @IdtipoConvocatoria in ( 2, 3)  and @nivel_insc in(2,3)   --- Para Primaria se toma en cuenta la fecha limite , para media NO
	begin  
	        declare c cursor FORWARD_ONLY FOR
		select distinct CapAg.Aprobado,Cap.CursoOCapacitacion,Cap.horasCatedra,CapAg.Fechapresentacion,Cap.ValeComoCurso,h.Cargogenerico,h.AsignaturaGenerica,capag.TipoEntidad,Cap.idCapacitacion
		from
		tb_capacitacionesDelAgente CapAg
		join tb_capacitaciones Cap on CapAg.Capacitacion=Cap.idCapacitacion
		join tb_gruposDeIncumbencias G on G.idGrupoIncumbencia=Cap.GrupoIncumbencias
--		join tb_reluniongsgu R on r.idgrupounion = G.idGrupoIncumbencia
		join tb_incumbencias h on G.idGrupoIncumbencia=h.grupoIncumbencia
--		join tb_entidadesCapacitadoras Ent on Cap.entidad=Ent.idEntidad
--		join tb_tipoEntidadCapacitadora T on Ent.tipoEntidad=T.id								--supongo que si Cap.CursoOCapacitacion = 1 se trata de una Capacitacion, si Cap.CursoOCapacitacion = 2 esCurso Dictado y si Cap.CursoOCapacitacion = 3 se trata de un curso realizado 						
		where agente=@idAgente and h.CargoGenerico=@idCargogenerico and h.AsignaturaGenerica=@AsigGen  and  CapAg.FechaPresentacion <= @FechaLimite
			and (Cap.CursoOCapacitacion in ( 3,4,5,6,7,8,9)  or (Cap.CursoOCapacitacion = 1 and cap.valecomocurso='S')) -- and (G.IDgrupoIncumbencia= @grupoIncumbencia or G.IDgrupoIncumbencia= @grupoIncumbencia2)-- and Cap.horasCatedra >19 no requieren más el mínimo de 20 horas
--			AND CapAg.FechaPresentacion > cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +CAST ((case  when @idtipoconvocatoria=2 and @nivel_insc in(2,3) then @añoAvalorar-2 else @añoAvalorar-1 end) AS VARCHAR)  
--			AND CapAg.FechaPresentacion <=  cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +CAST ((case  when @idtipoconvocatoria=2 and @nivel_insc in(2,3) then @añoAvalorar-1 else @añoAvalorar end) AS VARCHAR) 
			AND CapAg.FechaPresentacion >@FechaDesde-- cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +CAST ( @añoAvalorar-1 AS VARCHAR)  
			AND CapAg.FechaPresentacion <=@Fechahasta-- case  when @idtipoconvocatoria=2 and @nivel_insc in(2,3) then '31/12/' +CAST (@añoAvalorar-1  AS VARCHAR) else cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +CAST (@añoAvalorar  AS VARCHAR) end
		order by Cap.idCapacitacion
	end
	else
	begin
	        declare c cursor FORWARD_ONLY FOR
		select distinct CapAg.Aprobado,Cap.CursoOCapacitacion,Cap.horasCatedra,CapAg.Fechapresentacion,Cap.ValeComoCurso,h.Cargogenerico,h.AsignaturaGenerica,capag.TipoEntidad,Cap.idCapacitacion
		from
		tb_capacitacionesDelAgente CapAg
		join tb_capacitaciones Cap on CapAg.Capacitacion=Cap.idCapacitacion
		join tb_gruposDeIncumbencias G on G.idGrupoIncumbencia=Cap.GrupoIncumbencias
--		join tb_reluniongsgu R on r.idgrupounion = G.idGrupoIncumbencia
		join tb_incumbencias h on G.idGrupoIncumbencia=h.grupoIncumbencia
--		join tb_entidadesCapacitadoras Ent on Cap.entidad=Ent.idEntidad
--		join tb_tipoEntidadCapacitadora T on Ent.tipoEntidad=T.id								--supongo que si Cap.CursoOCapacitacion = 1 se trata de una Capacitacion, si Cap.CursoOCapacitacion = 2 esCurso Dictado y si Cap.CursoOCapacitacion = 3 se trata de un curso realizado 						
		where agente=@idAgente and h.CargoGenerico=@idCargogenerico and h.AsignaturaGenerica=@AsigGen  --and CapAg.FechaPresentacion <= @FechaLimite
			and (Cap.CursoOCapacitacion in ( 3,4,5,6,7,8,9)  or (Cap.CursoOCapacitacion = 1 and cap.valecomocurso='S')) -- and (G.IDgrupoIncumbencia= @grupoIncumbencia or G.IDgrupoIncumbencia= @grupoIncumbencia2)-- and Cap.horasCatedra >19 no requieren más el mínimo de 20 horas
--			AND CapAg.FechaPresentacion > cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +CAST ((case  when @idtipoconvocatoria=2 and @nivel_insc in(2,3) then @añoAvalorar-2 else @añoAvalorar-1 end) AS VARCHAR)  
--			AND CapAg.FechaPresentacion <=  cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +CAST ((case  when @idtipoconvocatoria=2 and @nivel_insc in(2,3) then @añoAvalorar-1 else @añoAvalorar end) AS VARCHAR) 
			AND CapAg.FechaPresentacion >@FechaDesde-- cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +CAST ( @añoAvalorar-1 AS VARCHAR)  
			AND CapAg.FechaPresentacion <=@Fechahasta-- case  when @idtipoconvocatoria=2 and @nivel_insc in(2,3) then '31/12/' +CAST (@añoAvalorar-1  AS VARCHAR) else cast( datepart (dd,@fechalimite) as varchar) + '/' + cast( datepart (mm,@fechalimite) as varchar) + '/' +CAST (@añoAvalorar  AS VARCHAR) end
		order by Cap.idCapacitacion
	end
		SET @Error = @@ERROR 
		IF @Error <> 0 GOTO Salir




	open c

	fetch next from c into @Aprobado,@CursoOCap,@horas ,@fecha,@ValeComoCurso ,@Cargogen ,@AsigGen ,@tipoDeEntidad,@IdCapAg 

	set @pjeAuxiliar=0
	set @pjeOficiales = 0
	set @pjePrivados=0
	set @pjeAñoValorado=0
	while @@FETCH_STATUS = 0

	begin
		if @IdCapAg <> @idCapAg_anterior --agregué esta condición por que algunos cusros se seleccionan 2 veces
		begin
			set @idCapAg_anterior = @IdCapAg
			--print 'Perfeccionamiento Docente  oficial ................' + cast(@idCapAg as varchar) + '  ' + cast(@horas as varchar) + ' ' + @aprobado
			select @pjeAuxiliar=
			case
				when @horas BETWEEN 300 AND 420 then 3
				when @horas > 420 then  5
				when @horas BETWEEN 80 AND 300  then round(1.5+(@horas-80)*.0068182,3)
				when @horas< 80 then round( 0.5+(@horas-10)*.0142859	,3)
				else 0
			end

			if @aprobado <> 'S'  set @pjeAuxiliar=@pjeAuxiliar*0.1
			print 'Perfeccionamiento Docente oficial ................' +  cast(@idCapAg as varchar) + '  ' + cast(@fecha as varchar) + '  ' + cast(@horas as varchar) + ' ' + @aprobado+ '  ## CO   ' + cast( @pjeAuxiliar as varchar)

			if @tipoDeEntidad in (1)  
			begin
				print 'Perfeccionamiento Docente privado' + cast(@idCapAg as varchar) + '  ' + cast(@fecha as varchar)+ '  ' + cast(@horas as varchar) + ' ' + @aprobado+ '  ##### CP   ' + cast( @pjeAuxiliar as varchar)
				INSERT INTO [SageNET].[dbo].[tb_DetallePuntajes](inscripcion,[Agente], [idConcepto], [detalle1], [detalle2], [detalle3], [detalle4], [detalle5], [detalle6], [detalle7], [detalle8])
				VALUES(@idinscripcion,@idagente,199,'Perfeccionamiento docente privado ',cast(@idCapAg as varchar),cast(@horas as varchar),@aprobado,cast(round(@pjeAuxiliar,3) as varchar),cast(@fecha as varchar),cast(@añoAvalorar as varchar),null)
				set @pjeprivados=round(@pjeprivados+@pjeAuxiliar,3)
				--if @idAgente <> 55361 and @pjeprivados > @TopeCursosPrivados set @pjePrivados=@TopeCursosPrivados
				if  @pjeprivados > @TopeCursosPrivados set @pjePrivados=@TopeCursosPrivados
			end
			else
			     begin	
				INSERT INTO [SageNET].[dbo].[tb_DetallePuntajes](inscripcion,[Agente], [idConcepto], [detalle1], [detalle2], [detalle3], [detalle4], [detalle5], [detalle6], [detalle7], [detalle8])
				VALUES(@idinscripcion,@idagente,199,'Perfeccionamiento docente Oficial ',cast(@idCapAg as varchar),cast(@horas as varchar),@aprobado,cast(round(@pjeAuxiliar,3) as varchar),cast(@fecha as varchar),cast(@añoAvalorar as varchar),null)
				set @pjeOficiales=round(@pjeOficiales+@pjeAuxiliar,3)
				--if @idAgente <> 55361 and @pjeOficiales > @TopeCursosOficiales  set @pjeOficiales=@TopeCursosOficiales          --modificado 10/05/2007
				if  @pjeOficiales > @TopeCursosOficiales  set @pjeOficiales=@TopeCursosOficiales          --modificado 10/05/2007
			    end
			print  '........................'+ cast( @pjeAuxiliar as varchar)

	end --si capacitacion es distinta de capacitacion anterior
	fetch next from c into @Aprobado,@CursoOCap,@horas,@fecha ,@ValeComoCurso ,@Cargogen ,@AsigGen ,@tipoDeEntidad,@IdCapAg
	end
	
	print 'Puntaje por Cursos privado ' + cast (@añoAvalorar as varchar) +'  '+ cast(@pjePrivados as varchar) + '  '
	print 'Puntaje por Cursos oficiales ' + cast (@añoAvalorar as varchar) + '  '+cast(@pjeoficiales as varchar) + '  '
	
	set @pjeAñoValorado = @pjeOficiales + @pjePrivados	


--	if @pjeAñoValorado > 2 set @pjeAñoValorado = 2	           

--LIBERADO2
--	if @idAgente not in(55361,56427,56942,57359,56226,56033,57727,59171,58886,59503,59064,53741) and @pjeAñoValorado > @TopeAnualPerfeccionamiento  set @pjeAñoValorado= @TopeAnualPerfeccionamiento
	if  @pjeAñoValorado > @TopeAnualPerfeccionamiento  set @pjeAñoValorado= @TopeAnualPerfeccionamiento

             print 'Puntaje por Año valorado  ' + cast (@añoAvalorar as varchar) + '  '+cast(@pjeAñoValorado as varchar) + '  '
	close c
	deallocate c

set @pje = @pje + @pjeAñoValorado

print '==========================='
print @pje

set @añoAvalorar = @añoAvalorar + 1


end



set @pje = @pje + @pjePrevio2007

set @pjeJudicial = @pje

--print 'Puntaje Final por Perfeccionamiento Docente (antes) del tope  ' +  cast(@pje as varchar) + '  '

--	  if  (@idAgente <> 55361 and @IdtipoConvocatoria <> 2 and @IdtipoConvocatoria <> 3  and @pje > @TopePerfeccionamiento) or (@idAgente = 55361 and @idCargogenerico <>70) set @pje=@TopePerfeccionamiento 

  if  ( @IdtipoConvocatoria <> 2 and @IdtipoConvocatoria <> 3  and @pje > @TopePerfeccionamiento)  set @pje=@TopePerfeccionamiento 

	  --if @idAgente <> 55361 and @IdtipoConvocatoria in ( 2, 3)  and @pje > @TopePerfeccionamiento + ( @añoactual -2006 ) * 2  set @pje=@TopePerfeccionamiento + ( @añoactual -2006 ) * 2 -- serían los 30 puntos del tope más 2 puntos por año a contar desde el 2007 inclusive 
if  @IdtipoConvocatoria in ( 2, 3)  and @pje > @TopePerfeccionamiento + ( @añoactual -2006 ) * 2  set @pje=@TopePerfeccionamiento + ( @añoactual -2006 ) * 2 -- serían los 30 puntos del tope más 2 puntos por año a contar desde el 2007 inclusive 
	
-- LIBERADO3
--if @idAgente in (55361,56427,56942,57359,56226,56033,57727,59171,58886,59503,59064,53741) and @IdtipoConvocatoria in ( 2, 3)  set @pje = @pjeJudicial --los docentes de la lista se calculan sin tope por resolución judicial

print @añoactual -2006
print 'Puntaje Final por Perfeccionamiento Docente ' +  cast(@pje as varchar) + '  '



Salir:
IF @Error <> 0 
	ROLLBACK TRANSACTION
ELSE 
	COMMIT TRANSACTION
GO
GRANT EXECUTE ON  [dbo].[pje_porPerfeccionamiento] TO [Juntas]
GO
